from flask_script import Manager
# 数据迁移
from flask_migrate import Migrate, MigrateCommand
from info import create_app, db, models

# manager是程序的入口，只关心程序启动的参数以及内容，不关心具体该如何创建app和相关业务逻辑

# 通过指定的配置名字
from info.models import User

app = create_app('development')

manager = Manager(app)

Migrate(app, db)

# 将迁移命令添加到manager中
manager.add_command('db', MigrateCommand)


@manager.option('-n','-name',dest='name')
@manager.option('-p','-password',dest='password')
def createsuperuser(name,password):

    if not all([name,password]):
        print('参数错误')

    user = User()
    user.nick_name = name
    user.password = password
    user.mobile = name
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
    except Exception as e:
        db.session.rollback()

    print("添加成功")

if __name__ == '__main__':
    manager.run()
